/**
 * Copyright (C), 2001-2031, www.bosssof.com.cn
 * FileName: UserVO.java
 * Author: WangXin
 * Date: 2024/6/1 下午5:59
 * Description:
 * <p>
 * History:
 * Date          Author   Version  Desc
 * 2024-01-01    bosssoft  1.0.0   initialize this file
 */
package com.bosssoft.g1.vo;
 /**
 * @className: UserVO
 * @description:
 * 解决什么问题：
 *  演示线程池的正确使用
 * 主要方法和数据成员：
 *  methodxx 使用 ThreadPoolExecutor创建线程进行任务操作
 * 注意事项：
 *  例如：该类需要从容器获取不可以new
 * @author: WangXin
 * @date: 2024/6/1下午5:59
 * @since 1.0
 **/
import com.bosssoft.g1.common.data.vo.TenantBaseVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import javax.persistence.Transient;
import java.util.Date;
import java.util.List;

@ApiModel(value="用户管理")
@Data
@AllArgsConstructor
@NoArgsConstructor
@Setter
@Getter
public class UserVO extends TenantBaseVO {
    /**
     * 角色用户所拥有的角色 可以通过 ResultMap <collection 指定子查询获取
     */
    @Transient
    private List<RoleVO> roleList;

    /**
     * id
     */
    @ApiModelProperty(value="id")
    private Long id;
    /**
     * 工号
     */
    @ApiModelProperty(value="code工号")
    private String code;

    /**
     * 密码
     */
    @ApiModelProperty(value="password密码")
    private String password;

    /**
     * 名字
     */
    @ApiModelProperty(value="name名字")
    private String name;

    /**
     * 头像
     */
    @ApiModelProperty(value="profilePicture头像")
    private String profilePicture;

    /**
     * 性别
     */
    @ApiModelProperty(value="sex性别")
    private Byte sex;

    /**
     * 生日
     */
    @ApiModelProperty(value="birthday生日")
    private Date birthday;

    /**
     * 电话
     */
    @ApiModelProperty(value="tel电话")
    private String tel;

    /**
     * 邮箱
     */
    @ApiModelProperty(value="email邮箱")
    private String email;

    /**
     * 其他联系
     */
    @ApiModelProperty(value="other其他联系")
    private String other;

    /**
     * 备注
     */
    @ApiModelProperty(value="remark备注")
    private String remark;

    /**
     * 部门ID
     */
    @ApiModelProperty(value="departmentId部门ID")
    private Long departmentId;

    /**
     * 职位ID  注意这个不等同于角色实际就是岗位
     */
    @ApiModelProperty(value="positionId职位ID  注意这个不等同于角色实际就是岗位")
    private Long positionId;

    private String roleName;
    /**
     * 公司
     */
    @Transient
    private CompanyVO company;

    /**
     * 公司名
     */
    @ApiModelProperty(value = "公司名")
    private String companyName;

    /**
     * 组织
     */
    @Transient
    private OrganizationVO organization;
    private PositionVO positionVO;

    private String positionName;
    private DepartmentVO departmentVO;

    private String departmentName;

}




